package com.mj.mafeed.bean;

import java.io.File;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

/**
 * @description 论坛话题
 * @author zhaominglei
 * @date 2016年1月26日
 */
public class ForumTopicJSON implements Serializable {
	private static final long serialVersionUID = -1725032608230497202L;
	public static final int FORUM_TOPIC_TYPE = 0;
	public static final int COLLEGE_TOPIC_TYPE = 1;
	public static final int NEWS_TOPIC_TYPE = 2;
	
	/** 主键 */
	private Long forumTopicId;
	/** 创建日期  */
	private Date createDate;
	/** 类型 0论坛 1学院 2资讯**/
	private Integer type;
	/** 标题 **/
	private String title;
	/** 原图片 **/
	private String source;
	/** 介绍 **/
	private String introduction;
	/** 内容 **/
	private String content;
	/** 浏览次数 **/
	private Integer viewCount;
	/** 回复次数 **/
	private Integer replyCount;
	/** ip **/
	private String ip;
	/** 状态 **/
	private Integer status;
	/** 商品分类 **/
	private Long productCategoryId;
	/** 会员 **/
	private MemberJSON memberJSON;
	/** url **/
	private String url;
	/** 论坛话题图片 */
	private List<ForumTopicImage> forumTopicImages = new ArrayList<ForumTopicImage>();
	/** 论坛话题赞 */
	private List<ForumTopicPraise> forumTopicPraises = new ArrayList<ForumTopicPraise>();
	/** 论坛话题回复 */
	private List<ForumReply> forumReplies = new ArrayList<ForumReply>();
	
	@JsonIgnoreProperties(ignoreUnknown=true)
	public static class ForumTopicImage implements Serializable {
		private static final long serialVersionUID = -780977777361776758L;
		/** 排序 **/
		private Integer orders;
		/** 标题 **/
		private String title;
		/** 原图片 **/
		private String source;
		/** 大图片 **/
		private String large;
		/** 中图片 **/
		private String medium;
		/** 缩略图 **/
		private String thumbnail;
		/** 文件 */
		private File imageFile;
		
		public Integer getOrders() {
			return orders;
		}
		public void setOrders(Integer orders) {
			this.orders = orders;
		}
		public String getTitle() {
			return title;
		}
		public void setTitle(String title) {
			this.title = title;
		}
		public String getSource() {
			return source;
		}
		public void setSource(String source) {
			this.source = source;
		}
		public String getLarge() {
			return large;
		}
		public void setLarge(String large) {
			this.large = large;
		}
		public String getMedium() {
			return medium;
		}
		public void setMedium(String medium) {
			this.medium = medium;
		}
		public String getThumbnail() {
			return thumbnail;
		}
		public void setThumbnail(String thumbnail) {
			this.thumbnail = thumbnail;
		}
		public File getImageFile() {
			return imageFile;
		}
		public void setImageFile(File imageFile) {
			this.imageFile = imageFile;
		}
	}
	public static class ForumTopicPraise implements Serializable {
		private static final long serialVersionUID = -7615046363229987102L;
		private MemberJSON memberJSON; //会员
		
		public MemberJSON getMemberJSON() {
			return memberJSON;
		}
		public void setMemberJSON(MemberJSON memberJSON) {
			this.memberJSON = memberJSON;
		}
	}
	public static class ForumReply implements Serializable {
		private static final long serialVersionUID = -5232957389680187896L;
		/** 内容 **/
		private String content;
		/** ip **/
		private String ip;
		/** 状态 **/
		private Integer status;
		/** 商品分类 **/
		private Long productCategoryId;
		/** 会员 **/
		private MemberJSON memberJSON;
		
		public String getContent() {
			return content;
		}
		public void setContent(String content) {
			this.content = content;
		}
		public String getIp() {
			return ip;
		}
		public void setIp(String ip) {
			this.ip = ip;
		}
		public Integer getStatus() {
			return status;
		}
		public void setStatus(Integer status) {
			this.status = status;
		}
		public Long getProductCategoryId() {
			return productCategoryId;
		}
		public void setProductCategoryId(Long productCategoryId) {
			this.productCategoryId = productCategoryId;
		}
		public MemberJSON getMemberJSON() {
			return memberJSON;
		}
		public void setMemberJSON(MemberJSON memberJSON) {
			this.memberJSON = memberJSON;
		}
	}
	
	public Long getForumTopicId() {
		return forumTopicId;
	}
	public void setForumTopicId(Long forumTopicId) {
		this.forumTopicId = forumTopicId;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getSource() {
		return source;
	}
	public void setSource(String source) {
		this.source = source;
	}
	public String getIntroduction() {
		return introduction;
	}
	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public Integer getViewCount() {
		return viewCount;
	}
	public void setViewCount(Integer viewCount) {
		this.viewCount = viewCount;
	}
	public Integer getReplyCount() {
		return replyCount;
	}
	public void setReplyCount(Integer replyCount) {
		this.replyCount = replyCount;
	}
	public String getIp() {
		return ip;
	}
	public void setIp(String ip) {
		this.ip = ip;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public Long getProductCategoryId() {
		return productCategoryId;
	}
	public void setProductCategoryId(Long productCategoryId) {
		this.productCategoryId = productCategoryId;
	}
	public MemberJSON getMemberJSON() {
		return memberJSON;
	}
	public void setMemberJSON(MemberJSON memberJSON) {
		this.memberJSON = memberJSON;
	}
	public List<ForumTopicImage> getForumTopicImages() {
		return forumTopicImages;
	}
	public void setForumTopicImages(List<ForumTopicImage> forumTopicImages) {
		this.forumTopicImages = forumTopicImages;
	}
	public List<ForumTopicPraise> getForumTopicPraises() {
		return forumTopicPraises;
	}
	public void setForumTopicPraises(List<ForumTopicPraise> forumTopicPraises) {
		this.forumTopicPraises = forumTopicPraises;
	}
	public List<ForumReply> getForumReplies() {
		return forumReplies;
	}
	public void setForumReplies(List<ForumReply> forumReplies) {
		this.forumReplies = forumReplies;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
}
